object Form1: TForm1 Left = 28 Top = 54 Width = 578 Height = 403 Caption = 'Form1' Font.Color = clWindowText Font.Height = -13 Font.Name = 'System' Font.Style = [] PixelsPerInch = 96 Position = poScreenCenter TextHeight = 16 object TabbedNotebook1: TTabbedNotebook Left = 0 Top = 0 Width = 570 Height = 350 Align = alClient Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] TabsPerRow = 5 TabFont.Color = clBtnText TabFont.Height = -11 TabFont.Name = 'MS Sans Serif' TabFont.Style = [] TabOrder = 0 object TTabPage Left = 5 Top = 26 Caption = 'DACM' object Label1: TLabel Left = 8 Top = 8 Width = 545 Height = 64 Alignment = taCenter Caption = 'The Database Access Control Manager v2.0' Font.Color = clMaroon Font.Height = -27 Font.Name = 'Arial' Font.Style = [fsBold] ParentFont = False WordWrap = True end object Memo1: TMemo Left = 8 Top = 73 Width = 545 Height = 232 Font.Color = clBlack Font.Height = -13 Font.Name = 'MS Sans Serif' Font.Style = [] Lines.Strings = ( 'The DACM is a complete database security package providing an MS' + ' Access ' 'style security model covering User logon, Access control and Sys' + 'tem ' 'maintenance all in one delphi DCU.' '' 'It includes Users, User Groups, Security Objects (forms/ db'#39's/ o' + 'bjects) and ' 'permissions.' '' 'Anything can be protected by DACM, from an individual control t' + 'o a form, from a ' 'menu item to a report. ' '' 'DACM supports a single unified LogOn to other applications or SQ' + 'L servers that ' 'is you can LogOn to your SQL Server or Mail System and simultane' + 'ously LogOn ' 'to DACM using the same UserName and PIN, without needing to go t' + 'hrough ' 'another LogOn dialog.' '' 'PIN changes can be administered either centraly by an administra' + 'tor or by ' 'Users (set by design time option).' '' 'A Users Permissions are all inheritable that is your permissions' + ' for an object are ' 'the sum of all permissions you may have from being the member of' + ' different ' 'groups, you may belong to a group with read access and to anothe' + 'r with modify ' 'access, your permissisions will be Read+Modify.' '' 'Numerous events enable you to track and record all security acti' + 'vities from a ' 'User LoggingOn to changes being made by administrators to Securi' + 'ty Profile'#39's.' '' 'All data is stored in a single table, usualy a Paradox db but ca' + 'n be of any type ' 'compatible with the BDE including SQL Tables.' '' 'A security record is identified by/to your application by a Syst' + 'emID (SID), a ' 'string of up to 50 chars,(for a User this is PIN(20)+Name(30), f' + 'or Groups it is a nil ' '(actually irrelevant for Groups as they are NEVER accessed by th' + 'ere SID) and ' 'for an Object ' '' 'Internally DACM identifies all objects by an ObjectID (OID) a 4' + ' byte code ' 'assigned by DACM.' '' 'The ObjectList (OList) is a list of OID'#39's of groups a user has a' + 'ccess to or groups ' 'an object has granted acces rights to, permissions determine the' + ' level of that ' 'access.' '' 'Only the SID is stored encrypted, however the CHK field holds a ' + 'checksum that ' 'is verified to ensure the record has not been tampered with.' '' 'If it is a Paradox Table the Table can further be Password prote' + 'cted.') ParentFont = False ReadOnly = True ScrollBars = ssVertical TabOrder = 0 end end object TTabPage Left = 5 Top = 26 Caption = 'Whats New in 2.0' object Label12: TLabel Left = 8 Top = 64 Width = 385 Height = 33 Caption = 'Increased Limit'#39's, each User can belong to an unlimited number o' + 'f groups, each object can grant access to an unlimited number g' + 'roups' Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end object Label13: TLabel Left = 8 Top = 112 Width = 497 Height = 33 AutoSize = False Caption = 'New global security object and variable "Security", allows easy ' + 'access to security functions ie "Security.LogOn"' Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False end object Label14: TLabel Left = 8 Top = 160 Width = 369 Height = 33 Caption = 'New TPermissions type makes checking security permissions simple' + 'r ie "if pModify in Permissions then..."' Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end object Label15: TLabel Left = 8 Top = 32 Width = 466 Height = 15 Caption = 'Support for SQL databases and a single unified logon to DACM and' + ' other applications.' Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False end object Label16: TLabel Left = 8 Top = 208 Width = 463 Height = 30 Caption = 'New Component TSecurityObject simplyfies the protecting of forms' + ' and other objects. ie "if pReadOnly in SO1.Permissions then Na' + 'vBtn1.Enabled=false"' Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end object Label17: TLabel Left = 8 Top = 248 Width = 493 Height = 45 Caption = 'New Events allow you to track all activities in the security sys' + 'tem from LogOn to Permission Checks, easier access to the securi' + 'ty table whilst improving the security of the table against unau' + 'thorised access.' Font.Color = clYellow Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end end object TTabPage Left = 5 Top = 26 Caption = 'User Interface' object Label2: TLabel Left = 128 Top = 16 Width = 259 Height = 15 Caption = 'Click this button to build the demo security table' end object Label3: TLabel Left = 8 Top = 88 Width = 178 Height = 15 Caption = 'Try logging on as a different user' end object Label4: TLabel Left = 336 Top = 88 Width = 176 Height = 15 Caption = 'Change the PIN for your account' end object Label5: TLabel Left = 112 Top = 216 Width = 265 Height = 15 Caption = 'Explore the Administrators Maintenance Interface' end object LogOnBtn: TButton Left = 56 Top = 112 Width = 89 Height = 33 Caption = '&LogOn' TabOrder = 0 OnClick = LogOnBtnClick end object MaintenanceBtn: TButton Left = 208 Top = 240 Width = 113 Height = 33 Caption = '&Maintenance' TabOrder = 1 OnClick = MaintenanceBtnClick end object PINBtn: TButton Left = 400 Top = 112 Width = 89 Height = 33 Caption = '&PIN Change' TabOrder = 2 OnClick = PINBtnClick end object BuildBtn: TButton Left = 208 Top = 40 Width = 129 Height = 33 Caption = '&BuildObjects' TabOrder = 3 OnClick = BuildBtnClick end end object TTabPage Left = 5 Top = 26 Caption = 'Test Security' object Label6: TLabel Left = 56 Top = 16 Width = 427 Height = 30 Caption = 'Try logging on as different users and see the various permission' + 's you can have and how these effect your ability to access the o' + 'bjects below. ' WordWrap = True end object Label7: TLabel Left = 56 Top = 72 Width = 393 Height = 30 Caption = 'You can use the Maintenance Interface to change permissions and ' + 'group memberships' WordWrap = True end object Label8: TLabel Left = 368 Top = 224 Width = 158 Height = 45 Alignment = taCenter Caption = 'This object requires Modify Permission before access will be gra' + 'nted.' Font.Color = clBlue Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end object Label9: TLabel Left = 184 Top = 224 Width = 152 Height = 60 Alignment = taCenter Caption = 'This object requires Modify permissions but it doesnt exist in t' + 'he security db it so can'#39't be accessesd' Font.Color = clBlue Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end object Label10: TLabel Left = 16 Top = 224 Width = 135 Height = 30 Alignment = taCenter Caption = 'This object requires read permissions' Font.Color = clBlue Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False WordWrap = True end object Label11: TLabel Left = 120 Top = 112 Width = 307 Height = 15 Caption = 'This requires all permissions upto and including Approve' Font.Color = clBlue Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False end object Form1Btn: TButton Left = 176 Top = 129 Width = 177 Height = 33 Caption = '&Check Permission Form1' TabOrder = 0 OnClick = Form1BtnClick end object Form2Btn: TButton Left = 48 Top = 185 Width = 89 Height = 33 Caption = 'Form2' TabOrder = 1 OnClick = Form2BtnClick end object Form3Btn: TButton Left = 216 Top = 185 Width = 89 Height = 33 Caption = 'Form3' TabOrder = 2 OnClick = Form3BtnClick end object Form4Btn: TButton Left = 408 Top = 185 Width = 89 Height = 33 Caption = 'Form4' TabOrder = 3 OnClick = Form4BtnClick end object Button1: TButton Left = 184 Top = 56 Width = 161 Height = 17 Caption = '&LogOn' TabOrder = 4 OnClick = LogOnBtnClick end end object TTabPage Left = 5 Top = 26 Caption = 'Log' object Label18: TLabel Left = 72 Top = 8 Width = 421 Height = 15 Caption = 'Check out the demo source code to see how we can continually upd' + 'ate this log' end object Label19: TLabel Left = 96 Top = 72 Width = 381 Height = 15 Caption = 'When relevant the Field Info2 will show the actual permissions ' + 'granted' end object Label20: TLabel Left = 120 Top = 48 Width = 326 Height = 15 Caption = 'The Field Info contains the OID of the Object being accessed' end object DBGrid1: TDBGrid Left = 8 Top = 104 Width = 545 Height = 201 DataSource = DataSource1 Font.Color = clBlack Font.Height = -13 Font.Name = 'Times New Roman' Font.Style = [] ParentFont = False TabOrder = 0 TitleFont.Color = clBlack TitleFont.Height = -13 TitleFont.Name = 'Times New Roman' TitleFont.Style = [] end end end object Panel1: TPanel Left = 0 Top = 350 Width = 570 Height = 26 Align = alBottom Alignment = taRightJustify Caption = 'Panel1' TabOrder = 1 object CurrentUser: TLabel Left = 8 Top = 5 Width = 86 Height = 16 Caption = 'CurrentUser' end end object VSSecurity1: TDACManager Active = True DatabaseName = 'DACM' Exclusive = True TableName = 'VSEC.DB' AdminPIN = '****' AdminName = 'Administrator' IsSQLBased = False Password = 'MIKE' MinPINLength = 0 Key = 0 PINValidPeriod = 30 AdminPINChange = False OnBuildDAO = VSSecurity1BuildDAO OnSecurityEvent = VSSecurity1DACMEvent Left = 16 Top = 16 end object SecurityObject1: TSecurityObject ObjectSID = 'Form1' OnPermissions = SecurityObject1Permissions Left = 16 Top = 56 end object SecurityLog: TTable Active = True DatabaseName = 'DACM' TableName = 'SECLOG.DB' Left = 53 Top = 109 end object DataSource1: TDataSource DataSet = SecurityLog Left = 53 Top = 149 end end